<h2>DESCRIPTION</h2>

<em>r.spread</em> is part of the wildfire simulation toolset. Preparational
steps for the fire simulation are the calculation of the rate of spread (ROS)
with <em>r.ros</em>, and the creating of spread map with <em>r.spread</em>.
Eventually, the fire path(s) based on starting point(s) are calculated
with <em>r.spreadpath</em>.
<p>

Spread phenomena usually show uneven movement over space. Such unevenness
is due to two reasons:

<ol>
<li>the uneven conditions from location to location, which can be called
<em>spatial heterogeneity</em>, and
<li>the uneven conditions in different directions, which can be called
<em>anisotropy</em>.
</ol>

<p>The anisotropy of spread occurs when any of the determining factors
have directional components. For example, wind and topography cause anisotropic
spread of wildfires.

<p>One of the simplest spatial heterogeneous and anisotropic spread
is elliptical spread, in which, each local spread shape can be thought
as an ellipse. In a raster setting, cell centers are foci of the spread
ellipses, and the spread phenomenon moves fastest toward apogees and slowest
to perigees. The sizes and shapes of spread ellipses may vary cell by cell.
So the overall spread shape is commonly not an ellipse.

<p><em>r.spread</em>simulates elliptically anisotropic spread phenomena,
given three raster map layers about ROS (base ROS, maximum ROS and direction
of the maximum ROS) plus a raster map layer showing the starting sources.
These ROS layers define unique ellipses for all cell locations in the current
computational region as if each cell center was a potential spread origin.
For some wildfire spread, these ROS layers can be generated by another
GRASS raster program r.ros. The actual locations reached by a spread event
are constrained by the actual spread origins and the elapsed spread time.

<p><em>r.spread</em>optionally produces raster maps to contain backlink
UTM coordinates for each raster cell of the spread time map. The spread
paths can be accurately traced based on the backlink information by
<em><a href="r.spreadpath.html">r.spreadpath</a></em> module.

<p>Part of the spotting function in r.spread is based on Chase (1984)
and Rothermel (1983). More information on <em>r.spread</em>,
<em><a href="r.ros.html">r.ros</a></em> and
<em><a href="r.spreadpath.html">r.spreadpath</a></em> can be found in
Xu (1994).

<p>Options <tt>spot_dist</tt>, <tt>w_speed</tt> and <tt>f_mois</tt> must all
be given if the <tt>-s</tt> (spotting) flag is used.


<h2>EXAMPLE</h2>
Assume we have inputs, the following simulates a spotting- involved wildfire
and generates three raster maps to contain spread
time, backlink information in UTM northing and easting coordinates:

<div class="code"><pre>
r.spread -s max=my_ros.max dir=my_ros.maxdir base=my_ros.base \
    start=fire_origin spot_dist=my_ros.spotdist w_speed=wind_speed \
    f_mois=1hour_moisture output=my_spread \
    x_output=my_spread.x y_output=my_spread.y
</pre></div>


<h2>NOTES</h2>
1. <em>r.spread</em> is a specific implementation of the shortest path
algorithm. <em><a href="r.cost.html">r.cost</a></em> module served
as the starting point for the development of <em>r.spread</em>.
One of the major differences between the two programs is that
<em><a href="r.cost.html">r.cost</a></em> only simulates
<em>isotropic</em> spread while <em>r.spread</em> can simulate
<em>elliptically anisotropic</em> spread, including isotropic spread
as a special case.

<p>2. Before running r.spread, the user should prepare the ROS (base,
max and direction) maps using appropriate models. For some wildfire spread,
the <em><a href="r.ros.html">r.ros</a></em> module based on
Rothermel's fire equation does such work.
The combination of the two forms a simulation of wildfire spread.

<p>3. The relationship of the start map and ROS maps should be logically
correct, i.e. a starting source (a positive value in the start map) should
not be located in a spread <em>barrier</em> (zero value in the ROS maps).
Otherwise the program refuses to run.

<p>4. <em>r.spread</em> uses the current computational region settings. The output
map layer will not go outside the boundaries set in the region, and will
not be influenced by starting sources outside. So any change of the current
region may influence the output. The recommendation is to use slightly
larger region than needed.
Refer to <em><a href="g.region.html">g.region</a></em> to set an appropriate
computational region.

<p>5. The user should be sure that the inputs to <em>r.spread</em> are
in proper units.

<p>6. <em>r.spread</em> is a computationally intensive program. The user may
need to choose appropriate size of the computational region and resolution.

<p>7. A low and medium (i.e. &lt;= 0.5) sampling density can improve
accuracy for elliptical simulation significantly, without adding significantly
extra running time. Further increasing the sample density will not gain
much accuracy while requiring greatly additional running time.

<h2>REFERENCES</h2>

<ul>
<li>Chase, Carolyn, H., 1984, Spotting distance from wind-driven surface fires
-- extensions of equations for pocket calculators, US Forest Service, Res.
Note INT-346, Ogden, Utah.</li>

<li>Rothermel, R. C., 1983, How to predict the spread and intensity
of forest and range fires. US Forest Service, Gen. Tech. Rep. INT-143.
Ogden, Utah.</li>

<li>Xu, Jianping, 1994, Simulating the spread of wildfires using a
geographic information system and remote sensing, Ph. D. Dissertation,
Rutgers University, New Brunswick, New Jersey
(<a href="https://dl.acm.org/citation.cfm?id=921466">ref</a>).</li>
</ul>

<h2>SEE ALSO</h2>

<em>
<a href="r.cost.html">r.cost</a>,
<a href="r.mask.html">r.mask</a>,
<a href="r.ros.html">r.ros</a>,
<a href="r.spreadpath.html">r.spreadpath</a>
</em>

Sample data download: <a href="https://grass.osgeo.org/download/data/">firedemo.sh</a>
(run this script within the "Fire simulation data set" location.

<h2>AUTHOR</h2>
Jianping Xu and Richard G. Lathrop, Jr., Center for Remote Sensing and
Spatial Analysis, Rutgers University.

<!--
<p>
<i>Last changed: $Date$</i>
-->
